System and method for engine data trending and analysis

ABSTRACT

A system and method for monitoring engine operating data include monitoring various engine operating parameters and periodically storing engine data when corresponding criteria are met. In one embodiment, engine operating parameters may include engine speed, powertrain demand, or a fluid temperature, for example. Engine operating data such as oil pressure, turbo boost pressure, battery voltage, fuel economy, oil temperature, coolant temperature, maximum RPM, maximum vehicle speed, and throttle position sensor voltage, for example may be stored for trending and analysis. In addition, engine components may be monitored to determine service or replacement.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application is a continuation of commonly owned U.S. patentapplication Ser. No. 09/840,719, Filed Apr. 23, 2001, now U.S. Pat. No.6,339,742which is a continuation of Ser. No. 09/420,496 Filed Oct. 19,1999, now U.S. Pat. No. 6,220,223 which is a continuation of U.S. patentapplication Ser. No. 09/050,685 filed Mar. 30, 1998, now U.S. Pat. No.6,026,784 which is a continuation of U.S. patent application Ser. No.08/737,486 filed Mar. 12, 1997, now U.S. Pat. No. 5,732,676, which is acontinuation-in-part under §371 of PCT/US95/06052 filed Mar. 15, 1995based on U.S. patent application Ser. No. 08/243,103 filed May 16, 1994,now U.S. Pat. No 5,477,827.

TECHNICAL FIELD

[0002] The present invention relates to a method and system forcontrolling an internal combustion engine.

BACKGROUND ART

[0003] In the control of engines, the conventional practice utilizeselectronic control units having volatile and nonvolatile memory, inputand output driver circuitry, and a processor capable of executing astored instruction set, to control the various functions of the engineand its associated systems. A particular electronic control unitcommunicates with numerous sensors, actuators, and other electroniccontrol units necessary to control various functions, which may includevarious aspects of fuel delivery, transmission control, or myriadothers.

[0004] Early complex systems and subsystems which performed criticalfunctions required separate control units which could promptly respondto dynamic vehicle situations and initiate appropriate actions. Forexample, a vehicle may have employed a brake controller, a cruisecontrol module, a cooling fan controller, an engine controller, and atransmission controller, such that each vehicle system or subsystem hadits own stand-alone controller. These controllers were either electroniccontrol units or electronic circuits which may have had little or nocommunication among themselves or with a master controller. Thus, thevehicle was operated as a distributed control system, which often madeit difficult to optimize overall vehicle performance by coordinatingcontrol of the various systems and subsystems.

[0005] As control systems became more sophisticated, the variousdistributed controllers were connected to communicate status informationand coordinate actions. However, inter-controller communication delayswere often unacceptable for critical control tasks, thus requiringindependent processors or circuitry for those tasks. This expanded theoverall capabilities of the control system and was often necessary tomeet increasing consumer demands as well as more stringent emissioncontrol standards.

[0006] To meet these stricter standards, it has been necessary to expandthe capabilities of the engine control system to more accurately controlthe engine operation. The complexity of the resulting control systemshas often resulted in difficulty in the manufacturing, assembling, andservicing of vehicles. Manufacturers have attempted to decrease partproliferation, while increasing the accuracy of control, by combiningincreasingly more control functions into a single controller.

[0007] Advancements in microprocessor technology have facilitated theevolution of engine control systems. These systems began by implementingrelatively simple control functions with mechanical apparatus, andprogressed to more involved control schemes with dedicated controllers,before having matured as complex control strategies realized by acomprehensive engine controller. Many engine control systems found inthe prior art address only a single subsystem control strategy and failto capitalize on the advantages afforded by these microprocessoradvancements. Another difficulty encountered by traditional, distributedengine control systems is the inability to protect the engine or enginecomponents from system failures. Certain engine components, operatedunder extreme operating conditions, may fail.

[0008] The desire to provide application specific vehicles at acompetitive price has led to the availability of a number of customeroptions which may include some of the systems already noted, such asvehicle speed control, engine speed control, or engine torque control.This in turn has led to a large number of possible subsystemcombinations, thus increasing the costs associated with manufacturingand assembly as well as the cost of field service due to the largenumber of spare components which must be manufactured and stored.

[0009] It is desirable to have an electronic control unit capable ofintegrating the control of various engine functions and associatedvehicle systems, thus eliminating inter-controller communication delaysand harmonizing engine control with other vehicle subsystems. Anadditional benefit accrues from replacing independent stand-alonecontrollers with a comprehensive controller, to reduce partproliferation in the vehicle manufacturing, assembly, and serviceenvironments, leading to an associated reduction in the cost of thesefunctions.

[0010] It is also desirable in optimizing overall vehicle performance,to have an electronic control unit which coordinates control of theengine with control of the transmission for smoother, more efficientshifting of the transmission. It is desirable to provide for throttlelogic, and to provide for cylinder balancing to determine relative powercontribution from each cylinder.

[0011] Due to increasing cost of fuel, it is further desirable toprovide a controller which encourages certain driving techniques whichenhance fuel economy. For example, it is desirable to provide anincentive to limit engine idling while the vehicle is stationary toreduce average noise levels and to reduce fuel consumption. It isfurther desirable to encourage the use of cruise control to minimizetransmission shifting and increase overall fuel economy wheneverpossible.

[0012] It is also desirable to provide a controller which can controlthe engine in a manner which protects engine components during extremeoperating conditions. For example, if a turbocharged vehicle is operatedat high altitudes, the turbocharger will spin faster than a similarturbocharger operated at lower altitudes, and can be damaged.

SUMMARY OF THE INVENTION

[0013] It is therefore an object of the present invention to provide anintegrated engine controller capable of performing a balance test fordetermining cylinder contributions.

[0014] It is a further object of the present invention to provide anintegrated engine controller capable of controlling fuel delivery tomaximize fuel economy via driver incentives, and capable of protectingengine components in the presence of certain operating conditions.

[0015] It is an additional object of the present invention to provide anintegrated engine controller capable of performing throttle logic, andcapable of controlling the transmission in conjunction with the engine.

[0016] Another object of the present invention is to provide an enginecontroller which limits engine idling time while the vehicle isstationary to reduce unnecessary fuel consumption and noise.

[0017] Yet another object of the present invention is to provide anengine controller which limits engine idling based on ambient airtemperature so as to permit engine idling under conditions justifyinguse of vehicle heating or cooling systems.

[0018] A further object of the present invention is to provide an enginecontroller which estimates ambient air temperature so that an additionaltemperature sensor is not required.

[0019] Still further, it is an object of the present invention toprovide an integrated engine controller capable of determining serviceintervals and performing trend analyses.

[0020] In carrying out the above objects and other objects and featuresof the present invention, a system and method for collecting operatingdata from a multi-cylinder internal combustion engine having an enginecontrol module include monitoring engine operating conditions todetermine when to store selected engine operating data and periodicallystoring engine operating data in the engine control module in responseto the step of monitoring.

[0021] The above objects and other objects, features, and advantages ofthe present invention will be readily appreciated by one of ordinaryskill in the art from the following detailed description of the bestmode for carrying out the invention when taken in connection with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0022]FIG. 1 is a block diagram of an integrated control system for aninternal combustion engine in accordance with the present invention;

[0023]FIG. 2 is a flow chart detailing the steps for cylinder balancetesting according to the present invention;

[0024]FIG. 3 is a flow chart detailing the steps for fuel economy speedlimit addition according to the present invention;

[0025]FIG. 4 is a graphical representation of the high altitude torquereduction as a function of barometric pressure and engine speedaccording to the present invention;

[0026]FIG. 5 is a flow chart detailing the throttle logic according tothe present invention;

[0027]FIG. 6 is a flow chart detailing the gear ratio torque limitstrategy of the present invention;

[0028]FIG. 7 is a flow chart illustrating a system and method for engineidle shutdown based on ambient air temperature according to the presentinvention;

[0029]FIG. 8 is a graphical representation of a system and method forambient air temperature estimation according to the present invention;and

[0030]FIG. 9 is a graphical representation of absolute torque versusengine speed for use with the air temperature torque limit according tothe present invention.

BEST MODE(S) FOR CARRYING OUT THE INVENTION

[0031] Referring now to FIG. 1, there is shown an electronic controlmodule (ECM) 20 in communication with typical engine components, showngenerally by reference numeral 22, and a user-interface 34. ECM 20includes a microprocessor 24 having volatile random-access memory (RAM)26, and nonvolatile read-only memory (ROM) 28. Of course, ECM 20 maycontain other types of memory instead of, or in addition to, RAM 26 andROM 28, such as flash EPROM or EEPROM memories, as is well known in theart.

[0032] ROM 28, or other nonvolatile memory, may contain instructions,which are executed to perform various control and information functions,as well as data tables, which contain calibration values and parameterscharacterizing normal engine operation. Microprocessor 24 impartscontrol signals to, and receives signals from, input and output (I/O)drivers 32. The I/O drivers 32 are in communication with the enginecomponents 22 and serve to protect the controller from hostileelectrical impulses while providing the signals and power necessary forengine control according to the present invention. The ECM componentsdetailed above are interconnected by data, address and control buses. Itshould be noted that there are a variety of other possible controlschemes which include various combinations of microprocessors andelectric or electronic circuits which could perform the same function.

[0033] With continuing reference to FIG. 1, engine components 22 includea plurality of electronic unit injectors (EUI) 40, each associated witha particular engine cylinder; and a plurality of sensors 42 forindicating various engine operating conditions, such as coolanttemperature, ambient air temperature, intake manifold air temperature,inlet air temperature, engine oil temperature, fuel temperature,innercooler temperature, throttle position, intake manifold pressure,fuel pressure, oil pressure, coolant pressure, cylinder position, andcylinder sequencing, to name a few. Engine components 22 also includeactuators 44 which may include solenoids, variable valves, indicatorlights, motors, and/or generators. It should be appreciated that ECM 20may also be in communication with other vehicle components andmicroprocessors which control associated vehicle systems, such as thebrakes, the transmission, a vehicle management system or a fleetmanagement radio transponder.

[0034] The user-interface, or data-hub, 34 is used to storeuser-selected monitoring parameters and associated values for thoseparameters, and to determine service intervals and perform trendanalyses. User selected parameters may include adjustable limits, suchas desired engine oil life. Engine historical information may includediagnostic information which is used to assist personnel performingroutine maintenance, or troubleshooting malfunctions, as well as engineand vehicle operation data, which may be analyzed to evaluate vehicleoperator performance in addition to vehicle performance. Theuser-interface 34 also preferably performs component lifing and trendanalyses, as described in greater detail below. It should be appreciatedthat although FIG. 1 illustrates the user-interface as being external tothe ECM 20, certain operations performed by the user-interface could, ofcourse, also be performed by the ECM 20.

[0035] Electronic control module 20 executes software to implement thevarious features of the present invention. In describing these features,equations will be provided and reference will be made to variablesutilized by the ECM in executing the software. It should be noted thatequation variables shown in lower-case italics are calibrationvariables, whereas equation variables shown in SMALL CAPS representfunction variables, whose values vary and are based on, for example,operating conditions such as intake manifold pressure or engine speed.

[0036] Referring now to FIG. 2, there is shown a flow chart detailingthe steps for an injector balance test according to the presentinvention. In the preferred embodiment, the ECM 20 attempts to balancethe injectors 40 so that power delivery is approximately equal, byperforming an acceleration test to determine the relative power fromeach injector. At step 50, the ECM determines whether the accelerationbalance test is to be started. In the preferred embodiment, the test isactivated if an injector balance message is received by the ECM 20 fromthe user-interface 34 and either the vehicle speed is zero or thevehicle speed sensor (VSS) is not configured and the balance flag(BALENB) is set. The BALENB flag is set during calibration. Theacceleration balance test can be terminated in a number of ways.Preferably, the test is terminated when the test is complete, or whenECM 20 receives a clear message from the user-interface 34.Additionally, the test is terminated when the ignition is turned to the“off” position, or if the vehicle speed is non-zero.

[0037] With continuing reference to FIG. 2, once the balance test isactivated at step 50, a test sequence is entered at step 52 whichincludes an initializing step during which the idle speed is set to thevalue of BALSTR, a variable representing the balance start ramp RPM (theengine RPM at which the test starts). BALSTR preferably has a range of0-2500 RPM and defaults to 1000 RPM. Additionally, requested torque isset to zero and the test cylinder variable (CYLTST) is set to a value of‘1’ at step 52.

[0038] At step 54, the engine is allowed to stabilize prior tocommencement of the actual test. During the stabilizing period, the testcylinder is cut out of the fueling scheme. Control flow proceeds to step56 when the stabilizing time exceeds or is equal to the settling timevariable (BALTIM), which has a range of 0-30 seconds and a default valueof 2 seconds.

[0039] As shown in FIG. 2, once the engine has stabilized, at step 56the acceleration RPM with the test cylinder cut out is measured,starting with the first cylinder cut out. To do this, the fuelingcontrol signal, which could be a pulse width signal or derived fromtorque, for the remaining injectors, is set to the value of BALFPW, andthe beginning of injection (BOI) time for the remaining injectors is setto BALBOI, wherein BALFPW is the balance pulse width variable, which hasa range of 0°-30° and a default value of 13° (of crankshaft rotation),and wherein BALBOI is the balance beginning of fuel injection variable,which has a range of 0°-30° and a default value of 10°.

[0040] Control flow preferably proceeds to step 58 of FIG. 2 when thenumber of actual engine revolutions since the pulse width and injectiontime were set, equals or exceeds BALREV, the variable representing thebalance end ramp revolutions, which has a range of 0-100 revolutionswith a 1 revolution resolution and a default value of 8 revolutions. Thevalue of BALREV is set to ensure the occurrence of a certain number offirings for the test. As is known, in a four stroke 8-cylinder engine,four cylinders fire for each crankshaft revolution, whereas all eightcylinders are fired each revolution in a two stroke 8-cylinder engine.With BALREV and BALFPW set to the indicated defaults, an increase inengine speed of approximately 500 RPM will be realized during the test.At this point (revs≧BALREV), the engine speed is stored in memory forthe cut out injector.

[0041] At step 58 of FIG. 2, the ECM determines whether or not anadditional injector needs to be tested or whether the injector balancetest is complete. If the value of CYL_(TST) exceeds or equals the numberof engine cylinders (ZNCYLH), no additional injectors need to be testedand control flow skips to step 62, wherein adjustment factors aredetermined. If, however, additional injectors are to be tested, thevalue of CYL_(TST) is incremented at step 60, and control flow returnsto step 54 so that steps 56 and 58 can be repeated for each injector tobe tested.

[0042] With continuing reference to FIG. 2, at step 62 adjustmentfactors are calculated after all the injectors to be tested (i.e. cutout) have been tested. In a preferred embodiment, this entails firstdetermining an average RPM (RPM_(AVG)) for the tested injectorsaccording to: ${RPM}_{AVG} = \frac{\sum({RPM})}{ZNCYLH}$

[0043] wherein Σ(RPM) is the sum of all RPMs measured at the conclusionof step 56. Next, an adjustment RPM ratio (RPM_(ADJX)) is determined foreach cylinder according to:${RPM}_{ADJX} = \frac{{RPM}_{x}}{{RPM}_{AVG}}$

[0044] for x=1 to 8 for an eight cylinder engine, wherein RPMX is theRPM measured at the conclusion of step 56 for the particular cylinder.The adjustment factors (FCT_(ADJX)), which will ultimately modify thefinal injector pulse width, are determined according to:

FCT _(ADJX)=(RPM_(ADJX)−1)*(ZNCYLH−1)*BALGAN

[0045] wherein BALGAN is the balance gain which has a range of 0-2 witha default value of 0.8. A temporary adjustment factor (FCT_(TMPX)) isthen determined according to:

FCT _(TMPX)=min(BALLIM, max(−BALLIM, (FCT _(ADJ(X−1)) +FCT _(ADJX))))

[0046] wherein BALLIM represents a balance limit having a range of 0-1with a 0.01 resolution and a default value of 0.07. Thus, to determinethe temporary adjustment factor, the ECM first identifies the maximum of−BALLIM and the sum of FCT_(ADJ(X−1)) and FCT_(ADJX) (whereinFCT_(ADJ(X−1)) is the previous adjustment factor for that cylinder). TheECM then compares that maximum to the value of BALLIM, and takes theminimum of those quantities as the temporary adjustment factor.

[0047] At step 64, the adjustment factors are updated, and the resultsare output to the user. In the preferred embodiment, updating theadjustment factors includes normalizing the calculated adjustmentfactors. Normalization of the adjustment factors is accomplishedutilizing a normalizing factor, determined according to:

FCT _(NRMX)=II(1+FCT _(TMPX))

[0048] Thus, FCT_(NRMX) obtained by taking the product of all(1+FCT_(TMPX)) quantities. The fuel injector pulsewidth adjustmentfactor for each cylinder can then be determined according to:${FCT}_{x} = {\frac{\left( {1 + {FCT}_{TMPX}} \right)}{{FCT}_{NRMX}} - 1}$

[0049] Once determined, at step 64, all of the adjustment factors forthe cut-out cylinders (i.e. all values of FCTX) are stored in memory andthen multiplied by the final injector pulsewidth:

BALFPW=PWMULT*INCFAC _(X) *FCT _(X) *SPW

[0050] wherein PWMULT is an engine-specific horsepower adjustmentconstant stored in non-volatile memory, INCFAC_(X) is the injector fuelflow rate, and SPW is the base fuel pulse width determined by the ECMbased on operating conditions and known principles of ignition andcombustion. Although not specifically shown in FIG. 2, the methodologycould be performed using multiple iterations of the steps.

[0051] It is known that certain fuel injectors, sometimes termed highfuel or hot injectors, generate more power than other injectors. Withthe balance test of the present invention, the effects of this variationcan be minimized by compensating the fuel delivery of each fuelinjector. For example, if the engine has a high output injector, whenthat injector is cut out, the associated rise in engine speed resultingfrom the balance test will be less than the rise in engine speedoccurring when the high output injector is fueled and a nominal injectoris cut out. Adjustment factors compensate for a high output injector byreducing the fuel delivered to that injector. By compensating the fuelinjectors, the present invention operates to reduce engine wear, reducethe amount of engine smoke and particulates generated, and providesmoother power delivery. It should be appreciated that the injectorspecific information described above may be retrieved and/or compared inthe user interface 34 or in the ECM 20 for engine diagnosis and trackingpurposes.

[0052] Referring now to FIG. 3, there is shown a flow chart detailingthe steps for a fuel economy speed limit adder according to the presentinvention. The goal of this aspect of the present invention is toprovide an incentive to the vehicle operator to behave in a waygenerally consistent with the goals of the fleet managers to maximizefuel economy. Typically, drivers strive to increase vehicle speed. Inlight of this fact, increasing the speed available to the driver as fueleconomy increases as a result of for example, minimization of idle time,selection of the optimum transmission gear, maintaining a steadythrottle, or reducing the use of engine-driven accessory loads, providesa powerful incentive for the driver to behave as desired.

[0053] The strategy to provide the speed-based incentive utilizesnumerous variables. In the preferred embodiment, calibration values forthese variables are as follows: MINIMUM INITIAL NAME RANGE RESOLUTIONVALUE THRESH_(MPG) 2-20 MPG 0.1 MPG 7 MPG MAX MPH_(MPG) 0-10 MPH 1 MPH 5MPH MPH MPG_(GN) 0-20 MPH/MPG 0.1 MPH/MPG 5 MPH/MPG MPG FILT_(CON)0-0.01 0.00002 0.00055 MPG LIM 0-10 MPG 0.1 MPG 3 MPG MPG TYPE Switch 0= trip avg., 1 = filtered

[0054] Fuel economy, measured in terms of miles per gallon (MPG), can beeither the trip average fuel economy (MPG_TYPE=0) or a filtered fueleconomy (MPG_TYPE=1). In a preferred embodiment, filtered MPG(FIL_(MPG)) is utilized and is calculated at step 70 using a standard1^(st) order lag calculation limited between calibration limitsaccording to:

FIL_(MPG)=min(MPG_(—) LIM+THRESH_(MPG), max(THRESH_(MPG)−MPG_(—) LIM,(FIL _(MPG) _(t−1) +MPG_(—) FILT _(CON)*(INST _(MPG) −FIL _(MPG) _(t−1)))))

[0055] wherein MPG_LIM represents the maximum permissible deviation fromthe fleet fuel economy goal, THRESH_(MPG) represents a threshold fueleconomy, MPG_FILT_(CON) is a fuel economy filter constant, INST_(MPG)represents an instantaneous fuel economy, and FIL_(MPGt−1) representsthe previously determined filtered fuel economy. This calculation isdone frequently, such as once per second, to react in a timely manner tocurrent driver behavior.

[0056] The MPGMPH term, which represents the speed adder, is calculatedto increase allowable vehicle speed once the threshold fuel economy hasbeen obtained, although it is limited to the maximum speed calibrationvalue MAX_MPH_(MPG). More specifically, allowable vehicle speed isproportionally increased according to the amount by which the thresholdfuel economy is exceeded. In a preferred embodiment, the MPGMPH term isdetermined at step 72 according to:

MPGMPH=min(MAX_MPH_(MPG), MPH_MPG_(GN)*max(0, (INST_(MPG)−THRESH_(MPG))))

[0057] wherein MAX_MPH_(MPG) represents the maximum amount the vehiclespeed may be increased, and MPH_MPG_(GN) is the fuel economy gain thevalue of which may vary based on customer input. For the feature tofunction as intended, the calculated MPG value is preferably savedacross ignition cycles, and initialized to zero in the case of the firstpower up or in the case of an error. If the VSS fails, the speed adderis set to zero. At step 74, the ECM adjusts the speed maximums. Moreparticularly, the cruise maximum MPH (CCMAXS) and the road speed limitmaximum MPH (RSLMPH) are modified by the addition of MPGMPH to CCMAXSand RSLMPH when this feature is enabled.

[0058] According to another aspect of the present invention, fueldelivery to the engine is limited at certain altitudes. The goal of thisaspect of the present invention is to prevent damage to the turbochargerfrom excessive speed or compressor surging at certain barometricpressures (such as those typically encountered at high altitudes),preferably by reducing power via a torque limit at those barometricpressures.

[0059] In a preferred embodiment, a limit torque (HATQ) is definedaccording to: $\begin{matrix}{{TPM} = \quad {\frac{\left( {{RPM}_{MX} - {RPM}} \right)*\left( {1 - {TRQ}_{MN}} \right)}{{RPM}_{MX} - {RPM}_{MN}} +}} \\{\quad {{PR}_{TQ}*{\max \left( {0,\left( {{BARO} - {PR}_{MN}} \right)} \right)}}}\end{matrix}$

[0060] and

HATQ=min(1, TRQ _(MN)+max(0, TMP))

[0061] wherein RPM_(MX) represents the RPM for maximum barometricpressure compensation which has a range of 0-2500 with a default valueof 1800 RPM, RPM is the engine speed, TRQ_(MN) represents the minimumtorque after compensation which has a range of 0-100 and a default of100%, RPM_(MN) represents the minimum RPM for compensation which has arange of 0-2500 and a default of 1100 RPM, PR_(TQ) represents thepressure gain for compensation which has a range of 0-2% per kPa and adefault value of 1% per kPa, and PR_(MN) represents the minimum pressurefor compensation which has a range of 0-120 and a default value of 50kPa. The calculations are performed, and the torque limit is imposed,when the conditions for torque limiting exist, such as if the barometricpressure is below that which provides a torque that is greater than orequal to the current requested torque. It should be noted that thevariables are calibrated such that RPM_(MX)>RPM_(MN).

[0062]FIG. 4 is a graphical representation of the torque reduction (i.e.percent of maximum engine output torque) as a function of altitude andengine speed. The solid lines indicate typical requested torque limit,and lines of constant power. Limited torques are shown for barometricpressures of 0 kPa, 50 kPa, 72.86 kPa, 81.12 kPa and 100 kPa. As shown,the torque varies inversely with the barometric pressure (BARO) so thatmore torque reduction (less torque) is provided at lower barometricpressures typically encountered at high altitudes. More particularly,the graph illustrates various torque reductions for a particular engineapplication, with TRQ_(MN)=57%, RPM_(MN)=1050 RPM, RPM_(MX)=2100 RPM,PR_(TQ)=0.0080, and PR_(MN)=50 kPa. Once determined, the limit torquemay be imposed as a global engine torque limit as described above.

[0063] As previously noted, the user interface, or data hub, 34 is usedto store user calibration parameters, fleet management information, andretrieve engine historical information logged as a result of diagnosticor malfunction codes. The data hub 34 preferably stores this informationin sets referred to herein as pages, although various other methods ofstorage are possible, such as ASCII files. The first page relates tovehicle information. In the preferred embodiment, the vehicleinformation page includes total vehicle distance, total fuel used, totalengine hours and engine serial number. All values are maintained fromthe first use of the engine, and can not be reset.

[0064] The electronic control module 20 can sample various sensors atregular intervals under controlled conditions, or it can samplecontinuously. For instance, the coolant temperature may be sampledcontinuously when the engine is expected to have reached operatingtemperature. Studying the trend data over a period of time gives anindication of the condition of the element being measured or may give anindirect indication of the condition of other elements of the engine.For example, a decreasing average for coolant temperature may indicate amalfunctioning thermostat, whereas an increasing average temperature mayindicate a clogged radiator.

[0065] Accordingly, the electronic control module 20 cooperates with thedata hub 34 to maintain a plurality of trend pages. Generally, trendinformation can be reset, but the preferred practice is to allow thetrends to run continuously over the life of the engine. In this manner,a predetermined number of most recent samples, for example 100, arealways available for trend analyses. The values represented by theletters “aaa”, “bbb”, and so on, can be user-specified to customize thetrend information, and the value within parentheses after the lettersindicates the default value. Of course, the default values may behard-coded into the system, removing that aspect of customer input.Lastly, it should be noted that all trend pages may be reset. Resettingwill clear all of the trend sample points stored on a particular page.

[0066] The first trend page maintained relates to oil pressure. An oilpressure trend sample is monitored during every aaa(20) engine hours.The average oil pressure during the time interval of the sample periodwhere the RPM exceeded bbb(1600) but was less than ccc(1800), and theoil temperature exceeded ddd(180° F.) but was less than eee(220° F.) istaken as the sample. The starting engine hours at which time the sampleperiod began is also stored. Generally, the oil pressure trend ismonitored for an unusual change in pressure, such as a large drop inpressure. Such a drop in pressure may be indicative of mechanicalproblems, a regulation problem, fuel dilution, or a low quantity of oil.

[0067] The data hub also maintains a turbo boost pressure trend page. Inthe preferred embodiment, a turbo boost pressure trend sample isdetermined based on every aaa(20) engine hours. The average turbo boostpressure during the time interval of the sample period where the RPM wasgreater than bbb(1400) and less than ccc(1600) and the powertrain demandis greater than or equal to ddd(96%) and less than or equal to eee(100%)is taken as the sample. The starting point from which the sample hadbegun is also stored in the form of engine hours. The turbo boost trendoperates to monitor the fuel and air system. Generally, an air leakmanifests itself as a reduction in the turbo boost. Similarly, a fuelrestriction (e.g. clogged fuel filter) manifests itself as a reductionin the turbo boost.

[0068] As a means of monitoring the electrical system, the data hub 34maintains a battery voltage trend page. A battery voltage trend sampleis taken every aaa(20) engine hours for a period of bbb(60) minutes. Theaverage battery voltage for all of the time in the sample period wherethe rpm was greater than ccc(1600) and less than ddd(1800) is taken asthe sample. The starting point of the sample period is also stored.Generally, an unusual increase in battery voltage may be indicative of avoltage regulator failure, whereas an unusual decrease in batteryvoltage may be indicative of a broken alternator belt.

[0069] The data hub also maintains a fuel economy trend page. A fueleconomy trend takes a sample every aaa(20) engine hours and records theaverage fuel economy between the last sample and the current sample. Thestarting point of the sample period is also stored.

[0070] As a means of monitoring the oil cooling system, the data hub 34maintains a maximum oil temperature trend page. A maximum oiltemperature sample is determined over every aaa(20) engine hours. Themaximum oil temperature reached between the time the last sample wastaken, and the current sample, is recorded on the page. The startingpoint of the sample period is also stored as cumulative engine operatinghours. An oil temperature measurement which indicates a rise in maximumtemperature may be indicative of engine mechanical problems.

[0071] Additionally, a coolant temperature sample is taken every aaa(20)engine hours. The maximum coolant temperature reached between the timethe last sample was taken, and the current sample, is recorded. Thestarting engine hours point from which the sample was taken is alsostored. A coolant temperature measurement which indicates a rise inmaximum temperature may be indicative of a plugged radiator, amalfunctioning thermostat, or cooling fan anomalies.

[0072] The data hub also maintains a maximum RPM trend page. An RPMsample is taken every aaa(20) engine hours and the maximum RPM reachedbetween the time the last sample was taken, and the current sample, isrecorded on the page. The starting point of the sample period is storedin the form of cumulative engine operating hours. Through themaintenance of maximum RPM trend pages, driver comparisons are possible.

[0073] As another means of making driver comparisons, the data hub alsomaintains maximum vehicle speed trend pages. A speed sample is takenevery aaa(20) engine hours. It records the maximum speed reached betweenthe time the last sample was taken and the current sample, in additionto starting point of the sample period in the form of cumulative engineoperating hours.

[0074] Additionally, the data hub 34 maintains minimum throttle positionsensor voltage trend pages. It should be appreciated that various typesof throttle position sensors, such as a ratiometric sensor, may be used.A throttle position voltage sample is taken every aaa(20) engine hours.The minimum throttle position voltage reached between the time the lastsample was taken, and the current sample, is recorded, in addition tothe starting point of the sample period in the form of cumulative enginehours. With this information, throttle position sensor wear can bemonitored. Generally, the output of the throttle position sensordecreases in value as the sensor wears.

[0075] In addition to the trend pages discussed in greater detail above,the data hub 34 is capable of performing lifting of vehicle components,such as engine components. In a preferred embodiment, up to 10components can be monitored independently. During the setup of theelectronic control module 20 information, the names of the 10 componentsto be monitored can be specified by an operator, i.e. oil filter,coolant, oil, and the like. Each of the components can be monitored byone or more of the following mechanisms: vehicle distance traveled,engine hours used, calendar time, total engine revolutions, total fuelburned, or idle time. The lifting information is maintained on a serviceinterval page, which includes the value set for the service life and thetotal usage currently incurred, for each of the monitored enginecomponents. The lifting information also preferably includes percent oflife left, as well as the expected replacement/service date based onvehicle usage rates. The following components, to name a few, can beselected as standard for component lifing: oil filter, oil, air filter,fuel filter, and coolant. Each of the individual components for whichthe service interval is being calculated may be reset, so that itsaccumulated use is set to zero.

[0076] The event log page provides a coarse indication of the usage ofthe engine. In the event log, the state of the engine will be logged forthe ninety-six (96) quarter hour intervals in a day. The event log willkeep this information for a predetermined number of (the most recent)days, such as five (5). The following information is preferablyavailable: start date and time, end date and time, number of entries,and entry (indicating engine on, off, idle, and cruise) for the 480quarter hour entries. If the ECM clock is not properly set, or the powerhas been removed, this page may give inappropriate results.

[0077] In addition to the features described above, the electroniccontrol module 20 also performs throttle control logic. Morespecifically, the electronic control module 20 determines a throttleposition offset to ensure that the throttle position sensor (TPS) valueis zero when the throttle is fully released, and to ensure that thevalue is forced to zero in error conditions as a safety precaution. Anadditional mechanism, if configured, operates to prevent the engine frombeing accelerated when a vehicle door is open.

[0078] In determining the throttle position offset, the electroniccontrol module 20 utilizes an impulse filtered offset, a smoothedoffset, and a computed offset. Generally, the impulse filtered offset isobtained by selecting the middle or median value of a group (such asthree) of samples. Thus, the effect is to drop the highest and lowestsamples of a group of samples. The smoothed offset is obtained utilizinga first order lag filter. The computed offset is obtained as describedbelow.

[0079] With reference now to FIG. 5, at the start of an ignition cycle,the impulse filtered offset, the smoothed offset, and the computedoffset are initialized to the maximum physically possible raw value(e.g. 1023). If the A/D converter device associated with the TPS is in aconversion fail condition, or if a digital input is configured as a dualdrive EFPA switch and the debounced state of that input changesindicating a change in the active TPS (step 80), then at step 82 theimpulse filtered offset, the smoothed offset, and the computed offsetare held at the maximum physically possible raw value.

[0080] As shown in FIG. 5, if a sensor fail low or sensor fail highfault is detected, or if one of the digital inputs to the ECM 20 isconfigured to be a door switch, and the debounced state of that inputrepresents a low external input indicating an open vehicle door (step84), the impulse filtered offset, the smoothed offset, and the computeroffset are held at the maximum physically possible raw value at step 86.

[0081] Otherwise, at each conversion, the raw value of the TPS output ispassed through the impulse noise filter at step 88, which, as describedabove, will keep the most recent three raw values and pass thearithmetic middle value (median). The result, which is the impulsefiltered offset (IFO), is then filtered with a first order lag filter toobtain the smoothed offset as follows.

[0082] With continuing reference to FIG. 5, if the impulse filteredoffset is greater than the previously determined smoothed offset (step90), the equation (step 92) is:

SO _(T) =SO _(T−1) +TPINFC(IFO−SO _(T−1))

[0083] wherein SO_(T) represents the new smoothed offset, SO_(T−1)represents the old smoothed offset, TPINFC represents the throttleposition sensor offset increasing filter constant which has a range of0-1, and a default value of 0.01.

[0084] Otherwise, at step 94 the smoothed offset is determined asfollows:

SO _(T) =SO _(T−1) +TPDEFC(IFO−SO _(T−1))

[0085] wherein TPDEFC represents the throttle position sensor offsetdecreasing filter constant which has a range of 0-1, and a default valueof 0.2.

[0086] If the ECM 20 receives, as a digital input, a throttle idleswitch output and the debounced state of that input represents a lowexternal input to the ECM indicating a closed throttle idle validationswitch (step 96), then the computed offset is obtained at step 98 asfollows:

CO _(T)=max(CO _(T−1), max(SO _(T) +TPOHIS,TPOMIN))

[0087] wherein CO_(T) represents the new computed offset, CO_(T−1)represents the old computed offset, SO_(T) represents the smoothedoffset, TPOHIS represents the throttle position sensor offset hysteresiswhich has a range of 0-250, and TPOMIN represents the throttle positionsensor minimum offset which has a range of 0-250. Thus, the ECM 20 firstcompares the sum of the current smoothed offset and the TPS offsethysteresis and the TPS minimum offset and takes the maximum of the two.The ECM then compares that quantity with the previous computed throttleoffset and takes the maximum of those two as the new throttle offset.

[0088] Otherwise, the computed offset is determined at step 100according to:

CO _(T)=max(min(CO _(T−1) , SO _(T) +TPOHIS),TPOMIN)

[0089] Thus, the ECM first compares the previous computed offset to thesum of the current smoothed offset and the TPS offset hysteresis andtakes the minimum. Next, the ECM 20 compares that quantity to the TPSminimum offset and takes the maximum of that comparison.

[0090] In addition to the features described above, the presentinvention includes a gear ratio torque limit embodied in a final torquedetermination by the electronic control module 20. The gear ratio torquelimit strategy will first be provided, followed by an explanation of thevariables, terms and the like used therein. It should be appreciatedthat although the present discussion focuses on a low gears torquelimit, the strategy is equally applicable to other gear ratios withappropriate modifications.

[0091] With reference now to FIG. 6, generally, the low gears torquelimit strategy limits engine torque based on engine speed (ES) andvehicle speed (VS) in an effort to protect the transmission from damage.As shown, the engine and vehicle speeds are measured at step 110. Moreparticularly, at step 112, a virtual gear ratio (VGR) is determined. VGRis defined as the ratio of engine speed and vehicle speed (VGR=ES/VS).At step 114, VGR is compared to a predetermined value, such as a lowgear torque limit threshold (trlrat). Based on that comparison, enginetorque may be limited. It should be appreciated that there could bepredetermined values associated with a variety of gear ratios—ratherthan a single threshold.

[0092] With continuing reference to FIG. 6, in the preferred embodiment,at step 116, the ECM 20 determines if the VGR has not been below thethreshold plus/minus some hysteresis (trlhys) since it was last abovetrlrat. Generally, if VGR is decreasing, VGR is compared to the quantity(trlrat−trlhys), whereas VGR is compared to the quantity (trlrat+trlhys)if VGR is increasing. The use of hysteresis has known benefits. Based onthe comparison at step 116, engine torque is limited to the value of thelow gear torque limit (trllim) at step 118, which is calibratable. Theresult is that when the transmission is in a low gear (i.e. high enginespeed relative to vehicle speed), the engine torque is limited. In thismanner, a lighter duty transmission, with its attendant cost savings,can be utilized.

[0093] In the preferred embodiment, if the engine is being shutdown, duefor example to the existence of a stop engine condition, final torque isset to zero. The determination of final torque (FTQ) varies based onnumerous considerations described below. If the electronic controlmodule is a master controller (rather than a slave controller), and aslave-to-master message has been read from a communications link (suchas an SAE J1939 link) during the current ignition cycle, then finaltorque (FTQ) is determined according to:

FTQ=min(RDTQ _(CTL) , RDTQ _(MSS) , SCTQ)

[0094] wherein RDTQ_(CTL) is the rampdown torque determined by the ECM,RDTQ_(MSS) is the rampdown torque from the most recent message receivedover the link, and SCTQ is the smoke control torque.

[0095] Otherwise, if the vehicle speed sensor is enabled, low geartorque limit is enabled, external engine synchronization is not set, anda vehicle speed sensor failure fault is detected, FTQ is:

FTQ=min(RDTQ, trllim, SCTQ)

[0096] wherein RDTQ is rampdown torque, trllim is the low gear torquelimit value having a range of 0-100% and a coarse resolution of 0.5%,and SCTQ is smoke control torque. Thus, the minimum of the threequantities is utilized as final torque.

[0097] Otherwise, if the vehicle speed sensor is enabled, low geartorque limit is enabled, external engine synchronization is not set, andthe vehicle speed is less than the cruise control minimum speed to setthe cruise, FTQ is determined according to:

FTQ=min(RDTQ, trllim, SCTQ)

[0098] Otherwise, if the vehicle speed sensor is enabled, low geartorque limit is enabled, external engine synchronization is not set, andVGR has not been below trlrat−trlhys since it was last above trlrat,then FTQ is determined according to:

FTQ=min(RDTQ, trllim, SCTQ)

[0099] wherein trlrat is the low gear torque limit VGR threshold havinga range of 0-300 and a default of 0.01 RPM/MPH, and trlhys is the lowgear torque limit VGR hysteresis having a range of 0-300 and a defaultof 0.01 RPM/MPH. Otherwise, FTQ is determined according to:

FTQ=min(RDTQ, SCTQ)

[0100] Rampdown torque (RDTQ) is determined based on a stop engine limittorque, an over temperature limit torque, and a marine limit torque,according to:

RDTQ=(min SETQ, OTTQ, MLTQ)

[0101] wherein SETQ is the stop engine limit torque, OTTQ is the overtemperature limit torque, and MLTQ is the marine limit torque.

[0102] Generally, stop engine torque limiting occurs when a stop enginecondition exists, such as low oil pressure. In the preferred embodiment,SETQ is determined according to:

SETQ=max(setmin, ST*STPTST)

[0103] wherein setmin is the stop engine minimum torque, ST is the savedtorque—the value of final torque FTQ at the time the first stop enginecondition occurred, and STPTST is the stop engine throttle scaling time,which has a range of 0-100 and a coarse resolution of 0.5%

[0104] Thus, to determine the stop engine torque limit, the ECM 20compares the values of the stop engine minimum torque, and the quantityof the saved torque and the stop engine scaling time, and sets SETQ asthe maximum of the compared values. If no stop engine condition exists,SETQ is 100% of the available engine torque or the final torque (FTQ).

[0105] As shown above, the rampdown torque is also based on an overtemperature limit torque. Generally, over temperature torque limitingoccurs when at least one over temperature condition exists. Typical overtemperature conditions include, but are not necessarily limited to,excessive cylinder head temperatures, coolant temperatures, oiltemperatures and transmission temperatures. If over temperatureprotection is enabled, in the preferred embodiment, OTTQ is determinedaccording to:

OTTQ=max(setmin, ST*DIWTST)

[0106] wherein ST is saved torque—the value of filtered torque (STQ) atthe time the over temperature condition began, and DIWTST is the warningthrottle scaling table value, the value of which varies based on themagnitude of the over temperature. In one embodiment, DIWTST assumes avalue between 0 and 100.

[0107] Marine limit torque is also utilized in determining the rampdowntorque. Preferably, the marine limit torque is determined according to:${MLTQ} = {{lmt} + \left\{ {\frac{{tqtret} - {TMR}_{TL}}{{tqtret} - {tqtrst}}*\left( {{MAXTQ} - {lmt}} \right)} \right\}}$

[0108] and

[0109] ti lmt=DTQLMT(ENGRPM)(1+TQADV(ARN,ENGRPM))

[0110] wherein tqtret is the maximum torque reduction end time, TMRTL isthe torque limiting timer the value of which represents the time sincethe torque limit was exceeded, tqtrst is the maximum torque reductionstart time variable, MAXTQ is the maximum torque of the engine, DTQLMTis the digital torque limiting table value which is based on the enginespeed (ENGRPM), TQADV is the torque adjustment table value which isbased on the engine rating and the engine speed, and ARN is the activerating number. If the TMR_(TL) is less than the value of the maximumtorque reduction start time variable (tqtrst), then the marine limittorque is 100% of the final torque.

[0111] As shown above, the final torque FTQ is determined with acomparison to SCTQ, the start and smoke control torque. If the engine isin the start mode of operation, SCTQ is determined according to:

SCTQ=RTQI+SMDTQ

[0112] wherein RTQI represents the driver requested torque and SMDTQ isthe starting torque, the value of which varies based on oil temperatureand engine speed. In the preferred embodiment, the engine is in thestart mode of operation if the engine speed is within a predeterminedspeed window. More specifically, the engine is in a start mode if theengine speed has not been above the quantity smiddl+ISPD (wherein smiddlrepresents a predetermined delta speed above the engine idle speed whichmust be exceeded to exit the start mode of engine operation, and ISPDrepresents the idle speed) since the engine speed was last below smback(which represents the engine speed to reenter the start mode).

[0113] Otherwise, if governor torque (GOTQ) exceeds the smoke limittorque (SLTQ), the engine is in a smoke control mode of operation, andSCTQ=SLTQ, which is determined utilizing the smoke limit torque (SCTORQ)function, the value of which varies based on engine rating (ARN), SCBST(smoke control boost pressure), and engine speed (ENGRPM):

SLTQ=SCTORQ(ARN, SCBST, ENGRPM)

[0114] Otherwise, SCTQ=requested torque.

[0115] In a preferred embodiment, the ECM 20 also implements improvedfan control logic. A detailed discussion of fan control is provided inU.S. patent application Ser. No. 08/113,424, filed on Aug. 27, 1993,titled “Method for Engine Control” and assigned to the assignee of thepresent application, the specification of which is hereby expresslyincorporated by reference in its entirety. More specifically, thisfeature adds the capability of providing fan operation based on theoperational state of the transmission retarder, the coolant temperature,manifold air temperature, or the air inlet temperature. In a preferredembodiment, the system and method of the present invention impose aminimum engine output torque requirement prior to operating the coolingfan due to a high air temperature indication.

[0116] According to the present invention, the ECM 20 includes a digitalinput function providing for fan operation when the transmissionretarder has been activated for a period of time and the coolanttemperature has exceeded a particular temperature. In this way, ECM 20automatically energizes the fan to assist in the cooling of the engineto anticipate heat which will be absorbed by the coolant due to theoperation of the transmission retarder. Prior art systems often relyprimarily on the coolant temperature to activate the cooling fan. Byanticipating the rise in coolant temperature, the present inventionprovides improved control of the engine operating temperature which hasa number of attendant advantages as discussed below.

[0117] Still further, in a preferred embodiment, the ECM 20 includes anair temperature torque limit. If any part of the fan system were tofail, or if a vehicle operator forgets to remove a winter radiator coverprior to driving in warm ambient temperatures, the compressed air fromthe turbocharger will not be cooled sufficiently prior to delivery tothe cylinders. As a result, combustion temperatures rise, as doesfriction, wearing the cylinder walls and piston prematurely. Althoughother configurations are possible, this feature is preferably configuredsuch that torque is reduced if the air inlet temperature is greater thanATNTMP and engine speed is greater than ATNRPM to a maximum reduction ofATQMIN at ATXRPM. Setting ATNRPM to an RPM greater than the maximumtransmission override RPM will disable this feature.

[0118] More specifically, whenever the air (compressed or uncompressed)inlet temperature rises above ATNTMP and the engine speed exceedsATNRPM, an absolute torque limit will be computed. The torque of theengine will not exceed this limit. The air temperature torque limit ispreferably configured to approximate constant horsepower for a giventemperature which provides predictable engine behavior and appropriateengine protection. If the air temperature sensor fails high, the airtemperature will ramp down or up to the default air temperature. Theinput filter constant AIIFC determines the ramp rate which preferablyspans several seconds so that abrupt torque limit jumps do not occur.

[0119] The air temperature torque limit is determined according to:$A = {\max \left( {0,\frac{{ATXTMP} - {AIT}}{{ATXTMP} - {ATNTMP}}} \right)}$$B = {\max \left( {0,{1 - \frac{{ENGRPM} - {ATNRPM}}{{ATXRPM} - {ATNRPM}}}} \right)}$

 C=A*(ATQMAX−ATQMIN)+B*(1-ATQMIN)+ATQMIN

ATTQ=MIN(1, MAX(ATQMIN, C))

[0120] wherein AIT is the air temperature (air inlet or manifold airtemperature), ATNRPM is the engine speed at or below which ATTQ is 100%for any air temperature, ATQMAX is the absolute torque limit when theengine rpm is greater than or equal to ATXRPM and the air temperature isless than or equal to ATNRMP, ATQMIN is the minimum absolute torquelimit (ATTQ equals this value when speed is greater than or equal toATXRPM and the air inlet temperature is greater than or equal toATXTMP), ATTQ is an absolute torque limit and is a factor in determiningthe rampdown torque (the final torque (FTQ) can not exceed this limit),ATXRPM is the engine speed at which ATTQ=ATQMAX when airtemperature≦ATNTMP and engine speed is at or above which maximum torquereduction occurs, specifically ATTQ=ATQMIN when air temperature≧ATXTMP,and ENGRPM is the engine RPM averaged over 90° for 8- and 16-cylinderengines, 180° degrees for 4-cylinder engines, and 120° for others.

[0121] Referring now to FIG. 7, a flow chart illustrating an idleshutdown feature between ambient temperature limits according to thepresent invention is shown. Similar to the previously describedfeatures, this feature is implemented by ECM 20. This feature providesfor selective engine shutdown after a predetermined (or possiblyadaptive) time period during which predetermined conditions are met.Since idling at low idle speeds produces sulfuric acid whichdeteriorates oil quality and may attack bearings, rings, valve stems,and other engine surfaces, this feature limits the period of time whichan operator can allow the engine to idle. Furthermore, this featurehelps to improve the overall fuel economy of the vehicle while reducingnoise and emissions.

[0122] Block 130 of FIG. 7 performs various initialization functionssuch as determining whether an ambient air temperature sensor has beeninstalled and is working properly, whether the parking brake is set, andthe engine is idling, i.e. the accelerator pedal is not depressed andthe high idle function is not active. The high idle function is providedto facilitate a vehicle warm-up cycle while avoiding the disadvantagesassociated with a low idle as described above. If an ambient airtemperature sensor is not installed or is installed but not configured,the system will estimate the ambient air temperature as illustrated anddescribed in detail with reference to FIG. 8. Similarly, if an ambientair temperature sensor is installed and a short circuit to ground isdetected, the ambient air temperature will be estimated as describedbelow. If an ambient air temperature sensor is installed and a shortcircuit to the vehicle battery is detected, the ambient air temperatureis set to a value of 70° F., a fault is recorded, and the check enginelight is illuminated. This prevents the idle shutdown from beingoverridden as long as 70° F. falls within the range established by thelower calibration limit (LL) and upper calibration limit (UL) asexplained below. The idle shutdown feature can be disabled by settingthe upper calibration limit (UL) to a value less than the lowercalibration limit (LL).

[0123] Block 132 of FIG. 7 determines the ambient air temperature. Thismay be accomplished directly by monitoring the appropriate sensor, ormay be an estimate as described in detail below. Block 134 monitors theidle timer to allow idling for a predetermined period of time,preferably five (5) minutes, before warning the operator of an impendingengine shutdown at block 136. This warning may be any appropriate signalsuch as a buzzer, light, or the like. In a preferred embodiment, thecheck-engine light flashes for about ninety (90) seconds prior to engineshutdown.

[0124] During the warning period, the operator may override theshutdown, as indicated by block 138, provided operator override isenabled as determined by a calibration variable which may be set viauser interface 34. Preferably, an override request is indicated bymomentarily depressing the accelerator pedal. If operator override isnot allowed as determined by the calibration variable, or the overrideis not requested by depressing the accelerator pedal (or a similarindication), the engine will be shutdown as indicated by block 150. Ifan operator override is enabled and detected by block 138, then controlis passed to block 140.

[0125] Since it is desirable to allow extended idle periods undercertain ambient temperature conditions, such as those which may justifyoperation of the vehicle heating or cooling system, block 140 determineswhether the current ambient air temperature (AATMP) is within the rangedetermined by the values of LL and UL. In a preferred embodiment, LL hasa value corresponding to about 40° F. and UL has a value correspondingto about 80° F. If the value of AATMP is within the limits determined bythe values of LL and UL, or the value of AATMP exceeds a high limit (HL)value, as determined by block 140, control passes to block 144.Otherwise, block 142 resets a delay timer which results in an unlimitedidling time while the appropriate operating conditions are satisfied.The value of HL, which is preferably about 176° F., is utilized todetect an attempt to defeat the sensor by placing the sensor on arelatively hot surface. Thus, if the ambient air temperature determinedby a temperature sensor exceeds this value, then the operator overrideis disabled resulting in engine shutdown as indicated by block 150.

[0126] If the ambient air temperature is being estimated as describedabove and illustrated by block 144, the delay timer is set (if it is notalready running) at block 146. Preferably, the delay timer is set toabout twenty (20) minutes. Block 148 then determines whether the delaytimer has expired. The delay timer provides a sufficient settling timefor various parameters used for the ambient air estimation function asdescribed below. Once the timer initiated at block 142 or 146 expires,the engine will be shut down as indicated at block 150, i.e. only oneoverride is allowed per ignition cycle. Similarly, if an ambient airtemperature sensor is installed and functioning properly, settling timeis not required and the engine is shutdown after the predeterminedidling period elapses.

[0127] Referring now to FIG. 8, a graphical representation of ambientair temperature estimation is shown. In a preferred embodiment, ambientair temperature is estimated using information commonly available fromstandard engine sensors according to:${temp} = {T_{air} - {\max \left\{ {0,{\frac{T_{oil} - T_{air}}{\frac{RPM}{K_{E}}}*T_{a_{off}}}} \right\}} + {Fan}_{off}}$

[0128] and

T _(AATP) =T _(AATP) +K _(F)*(temp−T _(AATP))

[0129] where T_(air) represents air temperature 166 which is the valueof the manifold air temperature if a manifold air temperature sensor hasbeen configured, as represented by block 160. Otherwise, air temperature166 is equal to the air inlet temperature (AIT) 162, described above, asrepresented by element 164. Block 170 represents the engine oiltemperature (T_(oil)) as determined by an associated sensor. Block 172represents engine RPM which is scaled by the value of K_(E) (6 in apreferred embodiment), as represented by block 174. Block 180 representsthe ambient air offset factor (T_(aoff)) and block 188 represents acooling fan offset (Fan_(off)). The “max” function, represented by block182 selects the greater of the values within braces and delineated by acomma, i.e. the “max” function returns a value of zero for otherwisenegative values. The ambient air temperature (T_(AATP)), represented byblock 196, is equal to its previous value added to a scaled differencevalue as determined by scaling factor K_(F), represented by block 194.Engine speed is included in the estimate since, as engine speedincreases, the air temperature has less time to be heated by the engine.Similarly, the cooling fan offset is included when the cooling fan is onsince this also reduces the air temperature.

[0130]FIG. 9 provides a graphical representation of absolute torqueversus engine speed which illustrates the relationship between enginespeed, air temperature and torque limit in a vehicle system such as in apreferred embodiment of the present invention.

[0131] It is understood, of course, that while the forms of theinvention herein shown and described constitute the preferredembodiments of the invention, they are not intended to illustrate allpossible forms thereof. It will also be understood that the words usedare descriptive rather than limiting, and that various changes may bemade without departing from the spirit and scope of the inventiondisclosed.

What is claimed is:
 1. A computer readable storage medium for performinglifting characteristics of selected components, the computer storagemedium comprising: instructions for selecting components; instructionsfor recording operating conditions of the selected components;instructions for selecting lifting characteristics; and instructions forcalculating the lifting characteristics of the selected components basedon the recorded operating conditions and selected lifing characteristic.2. The computer readable storage medium of claim 1, further comprisinginstructions for selecting the components based on a signal receivedfrom a user-interface indicating a component.
 3. The computer readablestorage medium of claim 2, further comprising instructions for selectinglifting characteristics based on signals received from theuser-interface indicating a lifting characteristic.
 4. The computerreadable storage medium of claim 1, wherein the calculated liftingcharacteristic includes a percent of life left for the selectedcomponents.
 5. The computer readable storage medium of claim 1, whereinthe calculated lifting characteristic includes an expected replacementdate for the selected components.
 6. The computer readable storagemedium of claim 1, further comprising instructions for storing thecalculated lifting characteristics in a service interval trend page, theservice interval trend page including service life remaining and totalusage incurred.
 7. A method for performing lifting analysis ofcomponents associated with an internal combustion engine, the methodcomprising: selecting at least one component to be monitored; monitoringoperating conditions of the selected components; storing informationregarding the operating conditions of the selected components; andcalculating lifting characteristics of the selected components based onthe stored information.
 8. The method of claim 7, further comprisingselecting the at least one component to be monitored based on a signalreceived from a user-interface.
 9. The method of claim 7, furthercomprising selecting lifing characteristics to be calculated for theselected components.
 10. The method of claim 8, further comprisingselecting an adjustable limit for the selected lifting characteristics.11. The method of claim 7, wherein the calculated lifing characteristicsincludes a percent of life left for the selected components.
 12. Themethod of claim 7, wherein the calculated lifing characteristicsincludes an expected replacement date for the selected components. 13.The method of claim 7, further comprising storing the calculated liftingcharacteristics in a service interval trend page, the service intervaltrend page including service life remaining and total usage incurred.14. A system for performing lifting of components of a vehicle equippedwith an internal combustion engine and an electronic control module forcontrolling the engine, the system comprising: a plurality of sensorsfor communicating operating conditions of the components to theelectronic control module; a computer readable memory for storing theoperating conditions; and a microprocessor for accessing the storedoperation conditions to calculate lifting characteristics of thecomponents.
 15. The system of claim 14, further comprising auser-interface for selecting parameters associated with the components,the microprocessor calculating lifting characteristics based on theselected parameters.
 16. The system of claim 15, wherein the selectedparameters include specific engine components.
 17. The system of claim16, wherein the selected parameters also include adjustable limits forthe lifting characteristics.
 18. The system of claim 14, wherein thelifting characteristic includes a percent of life left for thecomponents.
 19. The system of claim 14, wherein the liftingcharacteristic includes an expected replacement date for the components.20. The system of claim 14, further comprising a service interval trendpage stored in memory of the electronic control module that records thelifting characteristics performed for the components, the serviceinterval trend page including service life remaining and total usageincurred.